package com.zuihai.app.mvp.model.api.service;

import com.zuihai.app.mvp.model.entity.BaseJson;
import com.zuihai.app.mvp.model.entity.Detail;
import com.zuihai.app.mvp.model.entity.DetailPicture;
import com.zuihai.app.mvp.model.entity.MessageResponse;

import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
import rx.Observable;

/**
 * Created by Administrator on 2017/6/19 0019.
 */

public interface ReleaseService {

    //图片详情
    @FormUrlEncoded
    @POST("Tiaomu_clickInq?ismodify=1")
    Observable<BaseJson<DetailPicture>> requestPictureClick(@Field("id") String id,
                                                            @Field("my_id") String myID);
    /**
     * 发布热点
     *
     * @param picture
     * @param title
     * @param name
     * @param content
     * @param userId
     * @return
     */
    @FormUrlEncoded
    @POST("Hotspot_addInq")
    Observable<MessageResponse> releaseHot(@Field("type") String type,@Field("draft") String deaft, @Field("draft_id") String deaft_ID, @Field("muban_Tag") String muban_tag, @Field("picture") String picture, @Field("title") String title, @Field("name") String name, @Field("content") String content, @Field("releaser_id") String userId);

    //故事
    @FormUrlEncoded
    @POST("Story_addInq")
    Observable<MessageResponse> releaseStory(@Field("type") String type,@Field("draft") String deaft, @Field("draft_id") String deaft_ID, @Field("muban_Tag") String muban_tag, @Field("picture") String picture, @Field("title") String title, @Field("name") String name, @Field("content") String content, @Field("releaser_id") String userId);

    //图片
    @FormUrlEncoded
    @POST("Picture_addInq")
    Observable<MessageResponse> releasePicture(@Field("type") String type,@Field("draft") String deaft, @Field("draft_id") String deaft_ID, @Field("muban_Tag") String muban_tag,  @Field("title") String title, @Field("name") String name, @Field("content") String content, @Field("releaser_id") String userId,@Field("picture") String picture);


    //发布逛街
    @FormUrlEncoded
    @POST("Shopping_addInq")
    Observable<MessageResponse> releaseShopping(@Field("type") String type,@Field("draft") String deaft, @Field("draft_id") String deaft_ID, @Field("muban_Tag") String muban_tag, @Field("picture") String picture, @Field("title") String title, @Field("name") String name, @Field("content") String content, @Field("releaser_id") String userId);

    //发布周边
    @FormUrlEncoded
    @POST("Periphery_addInq")
    Observable<MessageResponse> releasePeryphery(@Field("type") String type,@Field("draft") String deaft, @Field("draft_id") String deaft_ID, @Field("muban_Tag") String muban_tag, @Field("picture") String picture, @Field("title") String title, @Field("name") String name, @Field("content") String content, @Field("releaser_id") String userId);

    //发布活动
    @FormUrlEncoded
    @POST("Activity_addInq")
    Observable<MessageResponse> releaseActivity(@Field("type") String type,@Field("draft") String deaft, @Field("draft_id") String deaft_ID, @Field("muban_Tag") String muban_tag, @Field("picture") String picture, @Field("title") String title, @Field("name") String name, @Field("content") String content, @Field("releaser_id") String userId);

    //发布人物
    @FormUrlEncoded
    @POST("Character_addInq")
    Observable<MessageResponse> releasePersion(@Field("type") String type,@Field("draft") String deaft, @Field("draft_id") String deaft_ID, @Field("muban_Tag") String muban_tag, @Field("picture") String picture, @Field("title") String title, @Field("name") String name, @Field("content") String content, @Field("releaser_id") String userId);

    //发布互助
    @FormUrlEncoded
    @POST("Cooperation_addInq")
    Observable<MessageResponse> releaseHelp(@Field("type") String type,@Field("draft") String deaft, @Field("draft_id") String deaft_ID, @Field("muban_Tag") String muban_tag, @Field("picture") String picture, @Field("title") String title, @Field("name") String name, @Field("content") String content, @Field("releaser_id") String userId);


    //发布互助
    @FormUrlEncoded
    @POST("Tencent_sign")
    Observable<MessageResponse> releaseTencent(@Field("String") String str);


    /**
     * 发布头条文章
     *
     * @param picture
     * @param title
     * @param name
     * @param content
     * @param userId
     * @return
     */
    @FormUrlEncoded
    @POST("Toutiao_addInq")
    Observable<MessageResponse> releaseHeadline(@Field("type") String type,
                                                @Field("draft") String deaft,
                                                @Field("draft_id") String deaft_ID,


                                                @Field("muban_Tag") String muban_tag,
                                                @Field("picture") String picture,
                                                @Field("title") String title,
                                                @Field("name") String name,
                                                @Field("content") String content,

                                                @Field("releaser_id") String userId);


    /**
     * 发布我有发现
     *
     * @param title
     * @param name
     * @param picture
     * @param content
     * @return
     */
    @FormUrlEncoded
    @POST("Faxian_addInq")
    Observable<MessageResponse> releaseNewFind(@Field("type") String type,
                                            @Field("draft") String deaft,
                                            @Field("draft_id") String deaft_ID,
                                            @Field("muban_Tag") String muban_tag,
                                            @Field("picture") String picture,
                                            @Field("title") String title,
                                            @Field("name") String name,
                                            @Field("content") String content,
                                            @Field("releaser_id") String userId);


    /**
     * 发布我有发现
     *
     * @param title
     * @param name
     * @param picture
     * @param content
     * @return
     */
    @FormUrlEncoded
    @POST("Faxian_addInq")
    Observable<MessageResponse> releaseFind(@Field("type") String type,
                                            @Field("draft") int draft,
                                            @Field("draft_id") String draft_id,
                                            @Field("releaser_id") String userId,
                                            @Field("title") String title,
                                            @Field("name") String name,
                                            @Field("picture") String picture,
                                            @Field("content") String content);
    /**
     * 发布服务
     *
     * @param picture
     * @param title
     * @param name
     * @param content
     * @param userId
     * @return
     */
    @FormUrlEncoded
    @POST("Fuwu_addInq")
    Observable<MessageResponse> releaseService(@Field("type") String type,@Field("draft") String deaft, @Field("draft_id") String deaft_id, @Field("picture") String picture, @Field("title") String title, @Field("name") String name, @Field("price") String price, @Field("unit") String unit, @Field("phone") String phone, @Field("content") String content, @Field("my_id") String userId);

    /**
     * 发布商品
     *
     * @param picture
     * @param title
     * @param number
     * @param freight
     * @param sellerId
     * @param price
     * @param unit
     * @param phone
     * @param content
     * @return
     */
    @FormUrlEncoded
    @POST("Commodity_addInq")
    Observable<MessageResponse> releaseCommodity(@Field("type") String type,@Field("draft") int deaft, @Field("draft_id") String deaft_id, @Field("picture") String picture, @Field("title") String title, @Field("number") String number, @Field("freight") String freight, @Field("seller_id") String sellerId, @Field("price") String price, @Field("unit") String unit, @Field("phone") String phone, @Field("content") String content);

    /**
     * 发布店铺和去处
     *
     * @param title
     * @param address
     * @param phone
     * @param picture
     * @param content
     * @param avatar
     * @return
     */
    @FormUrlEncoded
    @POST("Quchu_addInq")
    Observable<MessageResponse> releaseShop(@Field("type") String type,
            @Field("draft") int deaft, @Field("draft_id") String deaft_id, @Field("my_id") String userId,
            @Field("title") String title,
            @Field("address") String address,
            @Field("phone") String phone,
            @Field("picture") String picture,
            @Field("content") String content,
            @Field("touxiang") String avatar);


    /**
     * 发布说说
     *
     * @param picture
     * @param content
     * @param userId
     * @return
     */
    @FormUrlEncoded
    @POST("Shuoshuo_addInq")
    Observable<MessageResponse> releaseSay(@Field("content") String content,
                                           @Field("releaser_id") String userId,
                                           @Field("type") String type,
                                           @Field("picture") String picture);

    /**
     * 发布视频说说
     *
     * @param userId
     * @return
     */
    @FormUrlEncoded
    @POST("Shuoshuo_addInq")
    Observable<MessageResponse> releaseVideoSay(@Field("releaser_id") String userId,
                                                @Field("content") String content,
                                                @Field("video_url") String video_url,
                                                @Field("video_picture") String video_picture,
                                                @Field("type") String type);

    /**
     * 发布视频详情
     *
     * @return
     */
    @FormUrlEncoded
    @POST("Video_addInq")
    Observable<MessageResponse> releaseVideoDetail(@Field("type") String type,@Field("draft") int draft,
                                                   @Field("draft_id") String draft_id,
                                                   @Field("my_id") String userId,
                                                   @Field("title") String title,
                                                   @Field("fileid") String fileid,
                                                   @Field("video_picture") String video_picture,
                                                   @Field("video_url") String videoUrl);


    /**
     * 视频详情
     */
    @FormUrlEncoded
    @POST("Video_clickInq")
    Observable<BaseJson<Detail>> requestVideo(@Field("id") String id, @Field("my_id") String userId);

    /**
     * 请求服务详情
     *
     * @param id     服务ID
     * @param userId 用户ID
     * @return
     */
    @FormUrlEncoded
    @POST("Fuwu_clickInq")
    Observable<BaseJson<Detail>> requestFuwu(@Field("id") String id, @Field("my_id") String userId);


    /**
     * 请求好货详情
     *
     * @param id     好货ID
     * @param userId 用户ID
     * @return
     */
    @FormUrlEncoded
    @POST("Commodity_clickInq")
    Observable<BaseJson<Detail>> requestGoodGoods(@Field("id") String id, @Field("my_id") String userId);

    /**
     * 请求逛街详情
     */
    @FormUrlEncoded
    @POST("Tiaomu_clickInq?ismodify=1")
    Observable<BaseJson<Detail>> requestShop1(@Field("id") String id, @Field("my_id") String userId);

    /**
     * 请求周边详情
     */
    @FormUrlEncoded
    @POST("Tiaomu_clickInq?ismodify=1")
    Observable<BaseJson<Detail>> requestPeryphery(@Field("id") String id, @Field("my_id") String userId);

    /**
     * 请求活动详情
     */
    @FormUrlEncoded
    @POST("Tiaomu_clickInq?ismodify=1")
    Observable<BaseJson<Detail>> requestActivity(@Field("id") String id, @Field("my_id") String userId);


    /**
     * 请求人物详情
     */
    @FormUrlEncoded
    @POST("Tiaomu_clickInq?ismodify=1")
    Observable<BaseJson<Detail>> requestCharacter(@Field("id") String id, @Field("my_id") String userId);

    /**
     * 请求故事详情
     */
    @FormUrlEncoded
    @POST("Tiaomu_clickInq?ismodify=1")
    Observable<BaseJson<Detail>> requestStory(@Field("id") String id, @Field("my_id") String userId);


    /**
     * 请求互助详情
     */
    @FormUrlEncoded
    @POST("Tiaomu_clickInq?ismodify=1")
    Observable<BaseJson<Detail>> requestHelp(@Field("id") String id, @Field("my_id") String userId);

    /**
     * 请求热点详情
     *
     * @param id     头条ID
     * @param userId 用户ID
     * @return
     */
    @FormUrlEncoded
    @POST("Tiaomu_clickInq?ismodify=1")
    Observable<BaseJson<Detail>> requestHot(@Field("id") String id,
                                            @Field("my_id") String userId);

    /**
     * 请求今日头条详情
     *
     * @param id     头条ID
     * @param userId 用户ID
     * @return
     */
    @FormUrlEncoded
    @POST("Tiaomu_clickInq?ismodify=1")
    Observable<BaseJson<Detail>> requestHeadline(@Field("id") String id,
                                                 @Field("my_id") String userId);

    /**
     * 请求酒城日记详情
     *
     * @param id     日记ID
     * @param userId 用户ID
     * @return
     */
    @FormUrlEncoded
    @POST("Tiaomu_clickInq")
    Observable<BaseJson<Detail>> requestDiary(@Field("id") String id, @Field("my_id") String userId);

    /**
     * 请求发现秘密详情
     *
     * @param id     发现秘密ID
     * @param userId 用户ID
     * @return
     */
    @FormUrlEncoded
    @POST("Tiaomu_clickInq?ismodify=1")
    Observable<BaseJson<Detail>> requestSecret(@Field("id") String id, @Field("my_id") String userId);

    /**
     * 请求物品/服务详情
     *
     * @param id            物品/服务ID
     * @param commodityType 物品=1，服务=2
     * @param userId        用户ID
     * @return
     */
    @FormUrlEncoded
    @POST("Guangjie_clickInq")
    Observable<BaseJson<Detail>> requestCommodity(@Field("id") String id, @Field("guangjie_fenlei_Tag") int commodityType, @Field("my_id") String userId);

    /**
     * 请求店铺详情(发现-有去处)
     *
     * @param id     店铺ID
     * @param userId 用户ID
     * @return
     */
    @FormUrlEncoded
    @POST("Quchu_clickInq")
    Observable<BaseJson<Detail>> requestShop(@Field("id") String id, @Field("my_id") String userId);


}
